Tests for :sort command.     vim: set ft=vim :

STARTTEST
:so small.vim
:"
:/^t01:/+1,/^t02/-1sort
:/^t02:/+1,/^t03/-1sort n
:/^t03:/+1,/^t04/-1sort x
:/^t04:/+1,/^t05/-1sort u
:/^t05:/+1,/^t06/-1sort!
:/^t06:/+1,/^t07/-1sort! n        
:/^t07:/+1,/^t08/-1sort! u
:/^t08:/+1,/^t09/-1sort o         
:/^t09:/+1,/^t10/-1sort! x        
:/^t10:/+1,/^t11/-1sort/./        
:/^t11:/+1,/^t12/-1sort/../       
:/^t12:/+1,/^t13/-1sort/../u
:/^t13:/+1,/^t14/-1sort/./n
:/^t14:/+1,/^t15/-1sort/./r
:/^t15:/+1,/^t16/-1sort/../r
:/^t16:/+1,/^t17/-1sort/./rn
:/^t17:/+1,/^t18/-1sort/\d/
:/^t18:/+1,/^t19/-1sort/\d/r
:/^t19:/+1,/^t20/-1sort/\d/n
:/^t20:/+1,/^t21/-1sort/\d/rn
:/^t21:/+1,/^t22/-1sort/\d\d/
:/^t22:/+1,/^t23/-1sort/\d\d/n
:/^t23:/+1,/^t24/-1sort/\d\d/x
:/^t24:/+1,/^t25/-1sort/\d\d/r
:/^t25:/+1,/^t26/-1sort/\d\d/rn
:/^t26:/+1,/^t27/-1sort/\d\d/rx
:/^t27:/+1,/^t28/-1sort no
:/^t28:/+1,/^t29/-1sort b
:/^t29:/+1,/^t30/-1sort b
:/^t30:/+1,/^t31/-1sort f
:/^t01:/,$wq! test.out
ENDTEST

t01: alphebetical
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t02: numeric
abc
ab
a321
a123
a122
a
x-22
b321
b123

c123d
-24
 123b
c321d
0
b322b
b321
b321b


t03: hexadecimal
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t04: alpha, unique
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t05: alpha, reverse
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t06: numeric, reverse
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t07: unique, reverse
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t08: octal
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t09: reverse, hexadecimal
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t10: alpha, skip first character
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t11: alpha, skip first 2 characters
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t12: alpha, unique, skip first 2 characters
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t13: numeric, skip first character
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t14: alpha, sort on first character
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t15: alpha, sort on first 2 characters
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t16: numeric, sort on first character
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t17: alpha, skip past first digit
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t18: alpha, sort on first digit
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t19: numeric, skip past first digit
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t20: numeric, sort on first digit
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t21: alpha, skip past first 2 digits
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t22: numeric, skip past first 2 digits
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t23: hexadecimal, skip past first 2 digits
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t24: alpha, sort on first 2 digits
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t25: numeric, sort on first 2 digits
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t26: hexadecimal, sort on first 2 digits
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t27: wrong arguments
abc
ab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t28: binary
0b111000
0b101100
0b101001
0b101001
0b101000
0b000000
0b001000
0b010000
0b101000
0b100000
0b101010
0b100010
0b100100
0b100010


t29: binary with leading characters
0b100010
0b010000
 0b101001
b0b101100
0b100010
 0b100100
a0b001000
0b101000
0b101000
a0b101001
ab0b100000
0b101010
0b000000
b0b111000


t30: float
1.234
0.88
123.456
1.15e-6
-1.1e3
-1.01e3


t31: done
